package com.gaohe.scp.service;

import java.math.BigDecimal;
import java.util.List;

import com.gaohe.scp.domain.CsAuction;
import com.gaohe.scp.domain.vo.CarAutoDto;
import com.gaohe.scp.domain.vo.CsRecordVo;
import com.gaohe.scp.domain.CsCar;

/**
 * 竞拍记录Service接口
 *
 * @author liuxiangyu
 * @date 2025-03-25
 */
public interface ICsAuctionService {
    /**
     * 查询竞拍记录
     *
     * @param auctionId 竞拍记录主键
     * @return 竞拍记录
     */
    public CsAuction selectCsAuctionByAuctionId(Long auctionId);
    //    根据carid查询竞拍记录
    //    public CsAuction selectCsAuctionByCarId(Long carId);
    List<CsAuction> selectCsAuctionByCarId(Long carId);
    /**
     * 参拍记录擦查询
     *
     * @param userId 用户
     * @return
     */
    public List<CsRecordVo> selectCsAuctionByUserId(Long userId);

    /**
     * 查询竞拍记录列表
     *
     * @param csAuction 竞拍记录
     * @return 竞拍记录集合
     */
    public List<CsAuction> selectCsAuctionList(CsAuction csAuction);

    /**
     * 查询竞拍记录列表
     * 管理端
     * @param csAuction 竞拍记录
     * @return 竞拍记录集合
     */
    public List<CsAuction> selectCsAuctionListGld(CsAuction csAuction);

    /**
     * 新增竞拍记录
     *
     * @param csAuction 竞拍记录
     * @return 结果
     */
    public int insertCsAuction(CsAuction csAuction);

    /**
     * 修改竞拍记录
     *
     * @param csAuction 竞拍记录
     * @return 结果
     */
    public int updateCsAuction(CsAuction csAuction);

    /**
     * 批量删除竞拍记录
     *
     * @param auctionIds 需要删除的竞拍记录主键集合
     * @return 结果
     */
    public int deleteCsAuctionByAuctionIds(Long[] auctionIds);

    /**
     * 删除竞拍记录信息
     *
     * @param auctionId 竞拍记录主键
     * @return 结果
     */
    public int deleteCsAuctionByAuctionId(Long auctionId);

    int insertCsAuctionOrUpdate(CsAuction csAuction);

    int insertCsAuctionOrUpdateAuto(CarAutoDto carAutoDto);

    BigDecimal getMyAuctionByCarId(Long carId);

    CsCar selectCarNameByCarId(Long carId);
}
